Protocols like OpenFlow that control network traffic forwarding behavior often refer to specific information (header fields, timeslots, etc.) to recognize information flows that may be subject to specified forwarding treatment. In OpenFlow, for example, the flow_mod message identifies the information to be matched in a packet by using identifier values assigned to specific pre-defined header fields. These identifier values are bound (e.g., defined to represent) header fields when the protocol is specified. This approach is inflexible in that it requires a modification of the protocol specification to introduce support for new header fields or existing header fields that have not been previously assigned an identifier value. This impedes innovation, and therefore more flexible techniques for supporting new header fields are desired.